// using Pinwheel.LSerialize;
//
// namespace Pinwheel.Kernel.Message
// {
//     [LSerializable]
//     public partial struct ClusterMessage
//     {
//         [LSerializeInclude] private string m_Node;
//         [LSerializeIgnore] public string Node => m_Node;
//         
//         [LSerializeInclude] private string m_Service;
//         [LSerializeIgnore] public string Service => m_Service;
//         
//         [LSerializeInclude] private byte[] m_Data;
//         [LSerializeIgnore] public byte[] Data => m_Data;
//         
//         public ClusterMessage(string node, string service, ServiceMessage message)
//         {
//             m_Node = node;
//             m_Service = service;
//         }
//         
//         public void SetNode(string node)
//         {
//             m_Node = node;
//         }
//         
//         public void SetSession(string service)
//         {
//             m_Service = service;
//         }
//         
//         public void SetData(byte[] data)
//         {
//             m_Data = data;
//         }
//
//         public static implicit operator ServiceMessage(ClusterMessage value)
//         {
//             return LSerializer.Deserialize<ServiceMessage>(value.m_Data);
//         }
//     }
// }